草庐IT

c# - EF5 启动项目 :Error Running transformation: Please overwrite the replacement token '$edmxInputFile$'

我正在使用.Net4.5在VS2012中创建一个控制台项目。之后,我向项目“添加”、“新项目”,然后选择“EF5.xDbContextGenerator”。然后,几秒钟后,以下错误消息出现在“错误列表”选项卡中:Error1Runningtransformation:Pleaseoverwritethereplacementtoken'$edmxInputFile$'withtheactualnameofthe.edmxfileyouwouldliketogeneratefrom.C:\Projects\Tests\ConsoleAppEF5\ConsoleAppEF5\Model1.

c# - 导航属性应该是虚拟的 - 在 ef 核心中不需要吗?

我记得在EFnavigationpropertyshouldbevirtual:publicclassBlog{publicintBlogId{get;set;}publicstringName{get;set;}publicstringUrl{get;set;}publicstringTags{get;set;}publicvirtualICollectionPosts{get;set;}}但我看EFCore不要将其视为虚拟:publicclassStudent{publicintID{get;set;}publicstringLastName{get;set;}publicstri

c# - 数据库优先方法的 EF 迁移?

我们在EntityFramework中使用数据库优先方法。我们有几个客户,当我们部署新产品版本时,我们现在使用SQLCompare等工具“手动”应用数据库架构更改。EF迁移是否可以帮助自动将更改应用到客户数据库? 最佳答案 据我所知,EFMigrations是一款针对CodeFirst的产品,不支持DatabaseFirst操作。CodeFirst假定您永远不会手动对数据库进行任何更改。对数据库的所有更改都将通过代码优先迁移。 关于c#-数据库优先方法的EF迁移?,我们在StackOve

c# - EF : Include with where clause

这个问题在这里已经有了答案:FilteringonIncludeinEFCore(10个答案)关闭去年。社区在去年审查了是否重新打开这个问题并让它关闭:原始关闭原因未解决正如标题所暗示的那样,我正在寻找一种结合包含的where子句的方法。这是我的情况:我负责支持一个充满代码味道的大型应用程序。更改太多代码会导致到处都是错误,因此我正在寻找最安全的解决方案。假设我有一个对象Bus和一个对象People(Bus有一个导航PropCollectionofPeople)。在我的查询中,我需要选择所有只有醒着的乘客的公共(public)汽车。这是一个简单的虚拟示例在当前代码中:varbusses

c# - EF 6 和 SQLite 1.0.96.0 的“未找到 Entity Framework 提供程序”

我意识到关于这个主题已经有几个类似的问题,但其中许多来自旧版本的SQLite,据我所知,它并不完全支持EF6。我已经尝试了来自这些线程的无数建议,但要么做错了什么,要么必须改变某些东西。我正在使用VS2013,目标为.NET4.5.1,并安装了来自system.data.sqlite.orgdownloadpage的sqlite-netFx451-setup-bundle-x86-2013-1.0.96.0.exe包。,以及来自NuGet管理器(安装EF6)的System.Data.SQLiteEF6包。下面是我当前的App.config文件(除了我尝试将Version、Culture

c# - EF 6.1 唯一可空索引

在使用CodeFirst的EF6.1中,您可以使用实体中的属性或按照以下方式使用流畅的API创建索引:Property(x=>x.PropertyName).IsOptional().HasMaxLength(450).HasColumnAnnotation("Index",newIndexAnnotation(newIndexAttribute("IX_IndexName"){IsUnique=true,}));有没有什么方法可以像在SQLServer中一样使用WHEREPropertyNameISNOTNULL脚手架(参见:https://stackoverflow.com/a/7

c# - 如何调试NuGet包的install.ps1脚本

因此我们可以在NuGet包中包含安装/卸载powershell脚本。我试过了,但我的install.ps1不起作用。有没有可能找出原因?调试、日志记录等等?更新请注意,该脚本是作为Nuget包安装过程的一部分执行的。它可能非常特定于Nuget。 最佳答案 也许我迟到了,但这里有一个调试NuGet特定脚本的解决方案,NuGet包NuGetDebugTools.它的脚本Add-Debugger.ps1向NuGet包管理器控制台添加一个简单而有效的调试器。更新:脚本现在位于PSGalleryAdd-Debugger.NuGetDebugT

c# - 为什么 EF 生成带有不必要的空值检查的 SQL 查询?

我遇到了EF在搜索字符串字段时创建糟糕查询的问题。它以懒惰的程序员的风格生成了一个查询,以包含强制扫描整个索引的空检查。考虑以下查询。查询1varp1="x";varr1=ctx.Set().FirstOrDefault(subject=>p1.Equals(subject.StringField));查询2conststringp2="x";varr2=ctx.Set().FirstOrDefault(subject=>p2.Equals(subject.StringField));查询1产生WHERE(('x'=[Extent2].[StringField])OR(('x'ISNU

c# - 如何使用 ASP.net EF Codefirst 数据注释将 SQL Server 中的列设置为 varchar(max)?

我一直在网上搜索,试图找出正确的语法,让EntityFrameworkCodeFirst创建我的表,其中有一列:varchar(max)。这是我的。默认情况下,这会创建varchar(128)。如何创建varchar(max)?我试过[MaxLength]但没有成功。如有任何帮助,我们将不胜感激。谢谢![Column(TypeName="varchar")]publicstringMediaDesc{get;set;} 最佳答案 [Column(TypeName="varchar(MAX)")]令人惊讶的是,最明显的解决方案有效。[

c# - EF ICollection 与 List 与 IEnumerable 与 IQueryable

因此,我的EF模型具有关系,根据我在示例中看到的内容,这些关系应该使用ICollection的虚拟属性来完成。例子:publicclassTask{publicintId{get;set;}publicstringDescription{get;set;}publicvirtualICollection{get;set;}}我在某处读到我应该使用IEnumerable来防止延迟执行,对吗?这意味着如果我的DAL方法返回IEnumerable,仍然是IQueryable,SQL将在那个时刻执行,而不是在我在网页中调用.TOList的那一刻。那么,最佳做法是什么?我应该返回什么?IEnum